
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

  
<!-- Mirrored from npp-community.tuxfamily.org/documentation/notepad-user-manual/languages/user-defined-languages by HTTrack Website Copier/3.x [XR&CO'2010], Wed, 30 Mar 2011 22:12:33 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>User Defined Languages | </title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="prev" href="built-languages.html" />
<link rel="up" href="../languages.html" />
<link rel="next" href="external-lexers.html" />
<link rel="shortcut icon" href="../../../sites/default/files/acquia_marina_favicon.gif" type="image/x-icon" />
<meta name="keywords" content="Notepad++ Documentation,Notepad++,text editor" />
<meta name="description" content="<br />
" />
    <link type="text/css" rel="stylesheet" media="all" href="../../../modules/book/book5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../modules/node/node5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../modules/system/defaults5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../modules/system/system5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../modules/system/system-menus5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../modules/user/user5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/modules/cck/theme/content-module5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/modules/ckeditor/ckeditor5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/modules/dhtml_menu/dhtml_menu5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/modules/fancy_login/css/fancy_login5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/modules/feedback/feedback5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/modules/cck/modules/fieldgroup/fieldgroup5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/modules/views/css/views5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/themes/acquia_marina/style5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/themes/acquia_marina/icons5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/themes/acquia_marina/dblog5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/themes/acquia_marina/theme_settings/fixed5dbc.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/themes/acquia_marina/theme_settings/fonts_15dbc.css?S" />
    <!--[if IE 7]>
      <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/acquia_marina/ie7-fixes.css" />
    <![endif]-->
    <!--[if lte IE 6]>
      <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/acquia_marina/ie6-fixes.css" />
    <![endif]-->
        <link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/themes/acquia_marina/local.css" />
    	<link type="text/css" rel="stylesheet" media="all" href="../../../sites/all/css/home.css" />
    <script type="text/javascript" src="../../../misc/jquery5dbc.js?S"></script>
<script type="text/javascript" src="../../../misc/drupal5dbc.js?S"></script>
<script type="text/javascript" src="../../../sites/all/modules/dhtml_menu/dhtml_menu5dbc.js?S"></script>
<script type="text/javascript" src="../../../sites/all/modules/fancy_login/scripts/fancy_login5dbc.js?S"></script>
<script type="text/javascript" src="../../../sites/all/modules/feedback/feedback5dbc.js?S"></script>
<script type="text/javascript" src="../../../sites/all/themes/acquia_marina/script5dbc.js?S"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, { "basePath": "/", "dhtmlMenu": { "siblings": "siblings", "slide": 0, "relativity": 0, "children": 0, "clone": 0, "doubleclick": 0 }, "fancyLogin": { "screenFadeColor": "white", "screenFadeZIndex": "10", "loginBoxHeight": "auto", "loginBoxWidth": "175px", "loginBoxBackgroundColor": "white", "loginBoxTextColor": "black", "loginBoxBorderColor": "black", "loginBoxBorderWidth": "3px", "loginBoxBorderStyle": "solid", "loginPath": "user/login", "dimFadeSpeed": 500, "boxFadeSpeed": 1000, "hideObjects": 0, "requestDestination": "?destination=node/75" } });
//--><!]]>
</script>
  </head>

  <body class="not-logged-in not-front full-node node-type-book layout-first-main">
    <div id="page" class="clearfix">
      
              <div id="skip">
          <a href="#main-content">Skip to Main Content</a>
        </div>
            <div id="header-wrapper">
        <div id="header" class="clearfix">
          
                
          <div id="header-first">
             
            <div id="logo"><a href="../../../index.html" title="Home"><img src="../../../sites/all/images/NppCommunityLogo.png" alt="Home" /></a></div>
                                              </div><!-- /header-first -->
  
          <div id="header-middle">
                      </div><!-- /header-middle -->
      
          <div id="header-last">
                      </div><!-- /header-last -->
      
        </div><!-- /header -->
      </div><!-- /header-wrapper -->
      
      <div id="primary-menu-wrapper" class="clearfix">
                <div id="primary-menu">
          <ul class="menu"><li class="leaf first dhtml-menu "><a href="../../notepad-online-document.html" title="Notepad++ User Manual" id="dhtml_menu-502">Documentation</a></li>
<li class="leaf last dhtml-menu "><a href="../../../faq.html" title="" id="dhtml_menu-1031">FAQ</a></li>
</ul>        </div><!-- /primary_menu -->
              </div><!-- /primary-menu-wrapper -->

      <div id="preface">
              </div><!-- /preface -->

      <div id="main-wrapper">
        <div id="main" class="clearfix">
          
                  
                    <div id="sidebar-first">
            
<!-- start block.tpl.php -->
<div class="block-wrapper odd">
     <!-- see preprocess_block() -->
  <div class="rounded-block">
    <div class="rounded-block-top-left"></div>
    <div class="rounded-block-top-right"></div>
    <div class="rounded-outside">
      <div class="rounded-inside">
        <p class="rounded-topspace"></p>
        
        <div id="block-book-0" class="block block-book">
                                <div class="block-icon pngfix"></div>
                      <h2 class="title block-title pngfix">Documentation Navigation</h2>
                    <div class="content">
            <ul class="menu"><li class="collapsed first no-dhtml "><a href="../file-management.html" id="dhtml_menu-504">File management</a></li>
<li class="collapsed  no-dhtml "><a href="../session-management.html" id="dhtml_menu-505">Session management</a></li>
<li class="collapsed  no-dhtml "><a href="../editing.html" id="dhtml_menu-508">Editing</a></li>
<li class="collapsed  no-dhtml "><a href="../document-properties.html" id="dhtml_menu-509">Document Properties</a></li>
<li class="collapsed  no-dhtml "><a href="../searching.html" id="dhtml_menu-511">Searching</a></li>
<li class="collapsed  no-dhtml "><a href="../display.html" id="dhtml_menu-510">Display</a></li>
<li class="leaf  no-dhtml "><a href="../macros.html" id="dhtml_menu-512">Macros</a></li>
<li class="leaf  no-dhtml "><a href="../commands.html" id="dhtml_menu-513">Commands</a></li>
<li class="leaf  no-dhtml "><a href="../shortcuts-run-menu.html" id="dhtml_menu-514">Shortcuts for the Run menu</a></li>
<li class="leaf  no-dhtml "><a href="../windows-dialog.html" id="dhtml_menu-515">Windows Dialog</a></li>
<li class="collapsed  no-dhtml "><a href="../gui-elements.html" id="dhtml_menu-744">GUI elements</a></li>
<li class="collapsed  no-dhtml "><a href="../switching-between-documents.html" id="dhtml_menu-745">Switching between Documents</a></li>
<li class="expanded  no-dhtml  active-trail"><a href="../languages.html" id="dhtml_menu-746">Languages</a><ul class="menu"><li class="leaf first no-dhtml "><a href="built-languages.html" id="dhtml_menu-767">Built-in languages</a></li>
<li class="leaf  no-dhtml  active-trail"><a href="user-defined-languages.html" id="dhtml_menu-768" class="active">User Defined Languages</a></li>
<li class="leaf last no-dhtml "><a href="external-lexers.html" id="dhtml_menu-769">External Lexers</a></li>
</ul></li>
<li class="collapsed  no-dhtml "><a href="../settings.html" id="dhtml_menu-747">Settings</a></li>
<li class="leaf  no-dhtml "><a href="../plugins.html" id="dhtml_menu-749">Plugins</a></li>
<li class="leaf  no-dhtml "><a href="../command-line.html" id="dhtml_menu-750">Command Line</a></li>
<li class="leaf  no-dhtml "><a href="../control-files.html" id="dhtml_menu-751">Control files</a></li>
<li class="leaf  no-dhtml "><a href="../shell-extension.html" id="dhtml_menu-752">Shell Extension</a></li>
<li class="collapsed  no-dhtml "><a href="../further-help.html" id="dhtml_menu-748">Further help</a></li>
<li class="leaf  no-dhtml "><a href="../upgrading.html" id="dhtml_menu-753">Upgrading</a></li>
<li class="leaf last no-dhtml "><a href="../credits.html" id="dhtml_menu-754">Credits</a></li>
</ul>          </div>
        </div>
  
          <p class="rounded-bottomspace"></p>
      </div><!-- /rounded-inside -->
    </div>
    <div class="rounded-block-bottom-left"></div>
    <div class="rounded-block-bottom-right"></div>
  </div><!-- /rounded-block -->
    
</div>
<!-- /end block.tpl.php -->
          </div><!-- /sidebar-first -->
          
          <div id="content-wrapper">

            
                        
            <div id="content">
              <a name="main-content" id="main-content"></a>
              
              
              <div id="content-inner">
                
                              
                                <h1 class="title">User Defined Languages</h1>
                                <div id="content-content">
                  
<!-- start node.tpl.php -->
<div id="node-75" class="node odd full-node node-type-book">
  
  
  <div class="meta">
      </div>

  <div class="content">
    <p>
	User defined languages allow you to add your own language to Notepad++. This is a very quick and easy way to do so.</p>
<p>
	The NpWiki++ page about <a href="http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=User_Defined_Language_Files">user defined language files</a> lists all known such languages and allows sharing new contributed files.</p>
<p>
	Notepad++ always has the main User Defined language available. You can use this to test your settings and then later on create a new language based on this. The User Defined language gets reset each time you restart Notepad++, its settings will not be saved. User defined languages are available from the bottom of the language menu.</p>
<p>
	To define one, you need the User Defined Dialog, which can be accessed by selecting <span class="menu_item">View-&gt;User Define Dialog...</span> or pressing the&nbsp;<img alt="" src="../../../Images/Toolbar/showPannel.png" style="width: 16px; height: 16px;" /> button.</p>
<p>
	The dialog can float like any regular dialog when open, or be docked in the main Notepad++ window. Simply click <span class="button">Dock</span>/<span class="button">Undock</span> to do so. If the dialog is undocked (floating) you can control its transparency. Enable the transparency checkbox and control the amount using the slider. Note that transparency is only available on Windows 2000 and later.</p>
<p>
	The dialog shows a dropdownlist of the currently defined user languages. Select one to change its parameters, if possible they will be automatically saved. To create a new user language based on the current state of the main User Defined language, click the <span class="button">Create New...</span> button, a dialog will pop up asking for the name. To create a new User language based on the currently selected language, click <span class="button">Save As...</span>&nbsp;and enter the new name. If you have selected an user created language, you can click on the <span class="button">Rename</span> button to enter a new name if necessary, and the <span class="button">Remove</span> button will delete the language.</p>
<p>
	If you want the user language to ignore the case of the text (so it will be case insensitive when looking for keywords), enable the <span class="checkbox">ignore case</span> checkbox.</p>
<p>
	For user created languages, you can also define what file extensions to associate with them for language autodetection in the textbox with the <span class="label">Ext</span> label.</p>
<p>
	Most settings have a certain text style associated with them. These work the same as in the Styler Configurator (see&nbsp;<a href="../settings/styler-configurator.html">Styler Configurator</a> for details).</p>
<p>
	Other aspects of the language are controlled by the settings divided in four groups:</p>
<h3>
	Default style and Folding (Folder &amp; Default tab)</h3>
<p>
	This tab control the style of the default text (text that has no special attributes or meaning) and the keywords that control the folding. A keyword in the Folder Open group will trigger a new Fold group that can be expanded and collapsed. A keyword in the Folder Close group will close any opened group.</p>
<p>
	&nbsp;</p>
<h3>
	Keywords (Keywords Lists tab)</h3>
<p>
	This tab controls what keywords are registered with the language. You can define up to four groups of keywords, each with their own style. If you enable the <span class="checkbox">Prefix</span> option for a group, that means that these keywords can be prefixes of entire words, and thus will be detected even if the keyword is directly followed by other text. In that case the other text will be styled the same as the keyword.</p>
<p>
	&nbsp;</p>
<h3>
	Comments/Numbers (Comment &amp; Number tab)</h3>
<p>
	This tab controls the behavior and appearance of comments, and the appearance of numbers. You can define multiple comment symbols that are comment line symbols. These comments run from the symbol itself to the end of the line. You can also define comment block symbols. These symbols start commenting from any comment open symbol, until and comment close symbol is reached.</p>
<p>
	If you enable the <span class="checkbox">Treat keyword as symbol</span> checkbox, the comment symbols also trigger comments if they are the beginning of a word, much like prefix keywords.</p>
<p>
	Numbers are only recognized if they start a word with characters ranging from 0-9, where only the number symbols are styled as such.</p>
<p>
	&nbsp;</p>
<h3>
	Operators and Delimiters (Operators tab)</h3>
<p>
	This tab controls what operator symbols exists and what symbols act as delimiters. Operator symbols are characters that split two words. They behave much as whitespace but can be styled differently.</p>
<p>
	Delimiters are single characters and usually defined in pairs. Any text between a pair of delimiters as styled as such. A good example is a string, which is delimited on both sides with double quotes and drawn in a different color. Since, in many languages, a string may contain the string delimiter with a special prefix, you can enable and choose this prefix, the escape character.</p>
<p>
	&nbsp;</p>
<h2>
	Storing and sharing user define language definitions</h2>
<p>
	Basically, the settings for all user defined languages are stored in a configuration file called <tt>userDefineLang.xml</tt>. This is handy when you have defined only one language, or when you want to share all of the languages you defined. Because this scheme is too coarse grained at times, you can also</p>
<ul>
<li>
		Import a language from an external file, as long as it has proper contents. Changes will be saved in your file for all languages.</li>
<li>
		Export an individual language to an .xml file.</li>
</ul>
<p>
	Note that the <span class="button">Save As</span> button does not create any new file. It duplicates the current language using a new name you supply. <span class="button">Export</span> does create a new file. Likewise, <span class="button">Create New</span> creates a new language with all attributes reset to default and the name you provide.</p>
<p>
	Please also note that, if you import a language you already have, you will get duplicate entries in the language list and in the language menu.</p>
  <div id="book-navigation-3" class="book-navigation">
    
        <div class="page-links clear-block">
              <a href="built-languages.html" class="page-previous" title="Go to previous page">‹ Built-in languages</a>
                    <a href="../languages.html" class="page-up" title="Go to parent page">up</a>
                    <a href="external-lexers.html" class="page-next" title="Go to next page">External Lexers ›</a>
          </div>
    
  </div>
  </div>

    
  
  </div>
<!-- /#node-75 -->
                </div>
              </div><!-- /content-inner -->
            </div><!-- /content -->

                      </div><!-- /content-wrapper -->
          
          
                    
          
                    <div id="footer" class="clearfix">
                        
<!-- start block.tpl.php -->
<div class="block-wrapper odd">
        
        <div id="block-fancy_login-0" class="block block-fancy_login">
                    <div class="content">
            <a href="../../../user/login.html">Login</a>          </div>
        </div>
  
    
</div>
<!-- /end block.tpl.php -->
                                    
<!-- start block.tpl.php -->
<div class="block-wrapper odd">
        
        <div id="block-system-0" class="block block-system">
                    <div class="content">
            <a href="http://drupal.org/"><img src="../../../misc/powered-blue-80x15.png" alt="Powered by Drupal, an open source content management system" title="Powered by Drupal, an open source content management system" width="80" height="15" /></a>          </div>
        </div>
  
    
</div>
<!-- /end block.tpl.php -->
                                  </div><!-- /footer -->
                    
        </div><!-- /main -->
      </div><!-- /main-wrapper -->
    </div><!-- /page -->
    <div id="fancy_login_dim_screen"></div><div id="fancy_login_login_box"><div id="fancy_login_form_contents"><a href="#" id="fancy_login_close_button">X</a><form id="user-login" method="post" accept-charset="UTF-8" action="http://npp-community.tuxfamily.org/user/login"><div><div class="form-item" id="edit-name-wrapper">
 <label for="edit-name">Username: <span class="form-required" title="This field is required.">*</span></label>
 <input type="text" maxlength="60" name="name" id="edit-name" size="15" value="" tabindex="1" class="form-text required" />
</div>
<div class="form-item" id="edit-pass-wrapper">
 <label for="edit-pass">Password: <span class="form-required" title="This field is required.">*</span></label>
 <input type="password" name="pass" id="edit-pass"  maxlength="128"  size="15"  tabindex="2" class="form-text required" />
</div>
<input type="hidden" name="form_id" id="edit-user-login" value="user_login"  />
<input type="hidden" name="form_build_id" id="form-b88a1cbd237726bb35aac0dc37843df9" value="form-b88a1cbd237726bb35aac0dc37843df9"  />
<input type="submit" name="op" id="edit-submit" value="Log in"  tabindex="3" class="form-submit" />
</div></form><div class="item-list"><ul><li class="first"><a href="../../../user/register.html" title="Create a new user account.">Create new account</a></li>
<li class="last"><a href="../../../user/password.html" title="Request new password via e-mail.">Request new password</a></li>
</ul></div></div><div id="fancy_login_ajax_loader"><img src="../../../sites/all/modules/fancy_login/images/ajax-loader.gif" alt="Loading" /></div></div>

<!-- start block.tpl.php -->
<div class="block-wrapper even">
        
        <div id="block-feedback-form" class="block block-feedback">
                                <h2 class="title block-title pngfix"><span class="feedback-link">Feedback</span></h2>
                    <div class="content">
            <form action="http://npp-community.tuxfamily.org/documentation/notepad-user-manual/languages/user-defined-languages"  accept-charset="UTF-8" method="post" id="feedback-form" class="feedback-form">
<div><input type="hidden" name="ajax" id="edit-ajax" value="0"  />
<div class="feedback-help">If you experience a bug or would like to see an addition on the current page, feel free to leave us a message.</div><div class="form-item" id="edit-message-wrapper">
 <label for="edit-message">Message: <span class="form-required" title="This field is required.">*</span></label>
 <textarea cols="60" rows="5" name="message" id="edit-message"  class="form-textarea resizable required feedback-message"></textarea>
</div>
<div id="feedback-throbber"><input type="submit" name="op" id="feedback-submit" value="Send"  class="form-submit" />
</div><input type="hidden" name="form_build_id" id="form-f0dbc53cd57d32eb2ee76c87661844ac" value="form-f0dbc53cd57d32eb2ee76c87661844ac"  />
<input type="hidden" name="form_id" id="edit-feedback-form" value="feedback_form"  />

</div></form>
          </div>
        </div>
  
    
</div>
<!-- /end block.tpl.php -->
  </body>

<!-- Mirrored from npp-community.tuxfamily.org/documentation/notepad-user-manual/languages/user-defined-languages by HTTrack Website Copier/3.x [XR&CO'2010], Wed, 30 Mar 2011 22:12:33 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
